package com.multi.tenant.service.impl;

import java.util.List;
import com.multi.common.utils.DateUtils;
import com.multi.common.utils.SecurityUtils;
import com.multi.tenant.resp.BkTenantSignupInfoResp;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.multi.tenant.mapper.BkTenantSignupInfoMapper;
import com.multi.tenant.domain.BkTenantSignupInfo;
import com.multi.tenant.service.IBkTenantSignupInfoService;

/**
 * 租户签约Service业务层处理
 *
 * @author ruoyi
 * @date 2024-11-12
 */
@Service
public class BkTenantSignupInfoServiceImpl implements IBkTenantSignupInfoService
{
    @Autowired
    private BkTenantSignupInfoMapper bkTenantSigupInfoMapper;

    /**
     * 查询租户签约
     *
     * @param id 租户签约主键
     * @return 租户签约
     */
    @Override
    public BkTenantSignupInfo selectBkTenantSignupInfoById(Long id)
    {
        return bkTenantSigupInfoMapper.selectBkTenantSignupInfoById(id);
    }

    /**
     * 查询租户签约列表
     *
     * @param bkTenantSigupInfo 租户签约
     * @return 租户签约
     */
    @Override
    public List<BkTenantSignupInfoResp> selectBkTenantSignupInfoList(BkTenantSignupInfo bkTenantSigupInfo)
    {
        return bkTenantSigupInfoMapper.selectBkTenantSignupInfoList(bkTenantSigupInfo);
    }

    /**
     * 新增租户签约
     *
     * @param bkTenantSigupInfo 租户签约
     * @return 结果
     */
    @Override
    public int insertBkTenantSignupInfo(BkTenantSignupInfo bkTenantSigupInfo)
    {
        bkTenantSigupInfo.setCreateTime(DateUtils.getNowDate());
        bkTenantSigupInfo.setCreateBy(SecurityUtils.getUsername());
        return bkTenantSigupInfoMapper.insertBkTenantSignupInfo(bkTenantSigupInfo);
    }

    /**
     * 修改租户签约
     *
     * @param bkTenantSigupInfo 租户签约
     * @return 结果
     */
    @Override
    public int updateBkTenantSignupInfo(BkTenantSignupInfo bkTenantSigupInfo)
    {
        bkTenantSigupInfo.setUpdateTime(DateUtils.getNowDate());
        return bkTenantSigupInfoMapper.updateBkTenantSignupInfo(bkTenantSigupInfo);
    }

    /**
     * 批量删除租户签约
     *
     * @param ids 需要删除的租户签约主键
     * @return 结果
     */
    @Override
    public int deleteBkTenantSignupInfoByIds(Long[] ids)
    {
        return bkTenantSigupInfoMapper.deleteBkTenantSignupInfoByIds(ids);
    }

    /**
     * 删除租户签约信息
     *
     * @param id 租户签约主键
     * @return 结果
     */
    @Override
    public int deleteBkTenantSignupInfoById(Long id)
    {
        return bkTenantSigupInfoMapper.deleteBkTenantSignupInfoById(id);
    }

    /**
     * 查询7天内到期的租户信息
     * @return
     */
    @Override
    public List<BkTenantSignupInfo> selectCheckTenant() {
        return bkTenantSigupInfoMapper.selectCheckTenant();
    }

    /**
     * 查询需要关停的租户信息
     * @return
     */
    @Override
    public List<BkTenantSignupInfo> selectStopService() {
        return bkTenantSigupInfoMapper.selectStopService();
    }
}
